package com.cacho.s2b.lesson.learn;


/** Description: 子类继承extends父类，父类通用，子类具体, 比如父类-老师，子类-java/linux/db老师
 *
 **/
public class LearnClassExtends {
    public static void main(String[] args){
        Base c1 = new Child(); //只会调用父类的构造函数
        Base c2 = new Child2(); //只会调用父类的构造函数
        c1.method();  //最终调用的是子类方法
        c2.method();  //最终调用的是子类方法
    }
}
class Base extends Object {
    private String name;
    public Base(){
        name ="Base constructor";
        System.out.println("无参数构造函数："+ name);
    }
    public Base (String pName){
        name = pName;
        System.out.println("带参数构造函数："+ name);
    }
    public void method(){
        System.out.println(name);
    }
}
class Child extends Base {
    public void method(){
        System.out.println("Child method");
    }
     public Child(){
        //super("Child constructor"); //构造函数第一条，调用父类有参数构造函数
         super(); //调用父类无参数构造函数
    }
}

class Child2 extends Base {
    public void method(){
        System.out.println("Child2 method");
    }
    public Child2(){
        //super("Child constructor"); //构造函数第一条，调用父类有参数构造函数
        super(); //调用父类无参数构造函数
    }
}

